How Scala Experience Improved Our Java Development A Case Study at PhET Interactive Simulations

نویسنده

  • Sam Reid
چکیده

PhET Interactive Simulations at the University of Colorado creates free, open-source educational simulations. After developing several simulations in Scala, we identified several advantageous techniques and patterns in Scala which we were able to transfer to subsequent Java development projects. Specifically, our experience with Scala helped us attain the following advantages in our Java development: improved object initialization, improved code organization, reduced code duplication and improved management of boilerplate code. These effect of these changes has been to make our code easier to write, read and maintain. These ideas are not specific to our application domain, but should work equally well in broad range of domains. We also discuss how adoption of these Scala-like patterns in Java code can simplify the learning curve for Java developers who want to learn Scala.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Over One Hundred Million Simulations Delivered: A Case Study of the PhET Interactive Simulations

The PhET Interactive Simulations are well-known resources that originated in physics and are now used in multiple science disciplines. Many new educational innovations are developed but do not find a large audience—PhET, however, has been successful in becoming widely-used. This is the first of several planned case studies of widely-used educational innovations to characterize the strategies us...

متن کامل

A Study of Educational Simulations Part I - Engagement and Learning

Interactive computer simulations with complex representations and sophisticated graphics are a relatively new addition to the classroom, and research in this area is limited. We have conducted over 200 individual student interviews during which the students described what they were thinking as they interacted with simulations. These interviews were conducted as part of the research and design o...

متن کامل

On the Benefits of Combining Functional and Imperative Programming for Multicore Software An Empirical Study Comparing Scala and Java

Recent multi-paradigm programming languages combine functional and imperative programming styles to make software development easier. Given today’s proliferation of multicore processors, parallel programmers are supposed to benefit from this combination, as many difficult problems can be expressed more easily in a functional style while others match an imperative style. However, due to a lack o...

متن کامل

Asynchronous Proof Processing with Isabelle/Scala and Isabelle/jEdit

After several decades, most proof assistants are still centered around TTY-based interaction in a tight read-eval-print loop. Even well-known Emacs modes for such provers follow this synchronous model based on single commands with immediate response, meaning that the editor waits for the prover after each command. There have been some attempts to re-implement prover interfaces in big IDE framew...

متن کامل

Heuristics for Creating Assignments to Incorporate Simulations

The use of simulations in learning physics is a topic of growing interest in physics education research circles. While prior research has been conducted to understand the factors that promote engaging and interacting with sims in an interview setting, little work has been done to understand how assignments affect students’ interactions with the sims in various environments. This paper explores ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011